package com.sikulifang.bank.simulation.service;

import cn.hutool.core.lang.Dict;
import cn.hutool.db.Entity;
import com.sikulifang.bank.simulation.dto.QueryCriteriaDTO;
import com.sikulifang.bank.simulation.util.R;

import java.util.List;

/**
 * ClassName IService
 * Description IService
 *
 * @author Yat
 * Date 2023年6月9日, 0009 16:43
 * version 1.0
 */
public interface IService {

    /**
     * 表名
     */
    String getTableName();

    /**
     * 模糊匹配的查询条件
     */
    List<String> getQueryCriteria();

    Entity get(Object id);

    void delete(Object id);

    Entity list(QueryCriteriaDTO queryCriteria);

    /**
     * Description: 根据字段查询数据
     * <p>
     * Date: 2023年6月9日, 0009 17:40
     *
     * @return {@link Entity}
     */
    Entity getDataByKey(Dict dict);

    R<String> saveUpdate(Entity entity);
}
